home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / OEMNSVBR.IN_ / oemnsvbr.inf
INI File  |  1996-07-12  |  18KB  |  427 lines

  1. [Identification]
  2.     OptionType = NetService
  3. [Options]
  4.     RelayAgent
  5. [FileConstants]
  6.     Manufacturer                = "Microsoft"
  7.     ProductMajorVersion         = "4"
  8.     ProductMinorVersion         = "0"
  9.     ProductVersion              = $(ProductMajorVersion)"."$(ProductMinorVersion)
  10.     ProductOpSupport            = 132 
  11.     ProductSoftwareName         = "RelayAgent"
  12.     ProductSoftwareImagePath    = "%SystemRoot%\System32\router.exe"
  13.     ProductEventFile            = "%SystemRoot%\System32\relay.dll"
  14.     ProductSoftwareType         = "autoserviceshare"
  15.     ProductKeyName              = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\CurrentVersion"
  16.     ProductRegRoot              = $(!NTN_ServiceBase)"\"$(ProductSoftwareName)
  17.     ProductRegParams            = $(ProductRegRoot)"\Parameters"
  18.     TCPIPRegRoot                = $(!NTN_ServiceBase)"\Tcpip"
  19.     NetRuleType                 = "relayAgent relayAgentClass"
  20.     NetRuleUse                  = "service yes yes"
  21.     NetRuleBindable             = {"relayAgentClass ndisDriver non non 100"}
  22.     NetRuleBindForm             = """RelayAgent"" yes yes simple"
  23.     NetRuleClass                = {"relayAgentClass basic"}
  24.     SoftwareType                = "service"
  25. [GeneralConstants]
  26.     File_UTILITY_INF            = "UTILITY.INF"
  27.     File_SUBROUTN_INF           = "SUBROUTN.INF"
  28.     Exit_Code                   = 0
  29.     ExitCodeOK                  = 0
  30.     ExitCodeCancel              = 1
  31.     ExitCodeFatal               = 2
  32.     KeyNull                     = ""
  33.     MAXIMUM_ALLOWED             = 33554432
  34.     SERVICE_NO_CHANGE           = 4294967295
  35.     RegistryErrorIndex          = NO_ERROR
  36.     KeyProduct                  = ""
  37.     KeyParameters               = ""
  38.     TRUE                        = 1
  39.     FALSE                       = 0
  40.     NoTitle                     = 0
  41.     to                          = ""
  42.     from                        = ""
  43.     ExitState                   = "Active"
  44.     OldVersionExisted           = $(FALSE)
  45. [date]
  46.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  47. [Identify]
  48.     read-syms Identification
  49.     set Status = STATUS_SUCCESSFUL
  50.     set Identifier = $(OptionType)
  51.     set Media = #("Source Media Descriptions", 1, 1)
  52.     Return $(Status) $(Identifier) $(Media)
  53. [ReturnOptions]
  54.     set Status = STATUS_FAILED
  55.     set OptionList = {}
  56.     set OptionTextList = {}
  57.     set LanguageList = ^(LanguagesSupported, 1)
  58.     ifcontains(i) $($0) in $(LanguageList)
  59.         goto returnOptions
  60.     else
  61.         set Status = STATUS_NOLANGUAGE
  62.         goto finish_ReturnOptions
  63.     endif
  64.     returnOptions = +
  65.         set OptionList     = ^(Options, 1)
  66.         set OptionTextList = ^(OptionsText$($0), 1)
  67.         set Status         = STATUS_SUCCESSFUL
  68.     finish_ReturnOptions = +
  69.         Return $(Status) $(OptionList) $(OptionTextList)
  70. [InstallOption]
  71.     set Status = STATUS_FAILED
  72.     set Option = $($1)
  73.     set SrcDir = $($2)
  74.     set AddCopy = $($3)
  75.     set DoCopy = $($4)
  76.     set DoConfig = $($5)
  77.     set LanguageList = ^(LanguagesSupported, 1)
  78.     ifcontains(i) $($0) NOT-IN $(LanguageList)
  79.         return STATUS_NOLANGUAGE
  80.     endif
  81.     StartWait
  82.     read-syms GeneralConstants
  83.     read-syms FileConstants
  84.     read-syms FileConstants$(!STF_LANGUAGE)
  85.     read-syms DialogConstants$(!STF_LANGUAGE)
  86.     ifstr(i) $(!NTN_Origination) == "NCPA"
  87.         set continue = $(OK)
  88.     endif
  89.     detect date
  90.     set to = Begin
  91.     set from = Begin
  92.     set ExitStatus = STATUS_SUCCESSFUL
  93.     EndWait
  94.     Begin = +
  95.         ifstr(i) $(!NTN_InstallMode) == deinstall
  96.             set startLabel = Deinstall
  97.         else-ifstr(i) $(!NTN_InstallMode) == update
  98.             set startLabel = Update
  99.         else-ifstr(i) $(!NTN_InstallMode) == bind
  100.             set startLabel = ScriptExit
  101.         else-ifstr(i) $(!NTN_InstallMode) == configure
  102.             Debug-Output "Cannot configure the software."
  103.             Shell $(File_UTILITY_INF), RegistryErrorString, +
  104.                   CANNOT_CONFIGURE_SOFTWARE
  105.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  106.                 Debug-Output "ShellCode error: cannot get an error string."
  107.                 goto ShellErrorExit
  108.             endif
  109.             set ErrorMsg = $($R0)
  110.             set Severity = STATUS
  111.             set ExitStatus = STATUS_USERCANCEL
  112.             Shell $(File_SUBROUTN_INF) SetupMessage, $(!STF_LANGUAGE), +
  113.                   $(Severity), $(ErrorMsg)
  114.             goto ScriptExit
  115.         else
  116.             set startLabel = Install
  117.         endif
  118.         set from = $(ScriptExit)
  119.         set to = $(ScriptExit)
  120.         goto $(startLabel)
  121.     Install = +
  122.         OpenRegKey $(!REG_H_LOCAL) "" $(TCPIPRegRoot) $(MAXIMUM_ALLOWED) TCPIPRootKey
  123.         ifstr $(TCPIPRootKey) == $(KeyNull)
  124.             set Message = ErrorTCPIPNotInstalled
  125.             goto MessageExit
  126.         endif
  127.         CloseRegKey $(TCPIPRegRoot)
  128.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) ProductKey
  129.         ifstr $(ProductKey) != $(KeyNull)
  130.             CloseRegKey $(ProductKey)
  131.             Shell $(File_UTILITY_INF), VerExistedDlg, +
  132.                   $(ProductSoftwareTitle), $(ProductVersion)
  133.             goto ScriptExit
  134.         endif
  135.         OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup
  136.         ifstr(i) $(KeySetup) != "" 
  137.             DeleteRegTree $(KeySetup) "DHCPRelay"
  138.             CreateRegKey $(KeySetup) {"DHCPRelay",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyDHCP
  139.             ifstr(i) $(KeyDHCP) != ""
  140.                 SetRegValue $(KeyDHCP) {"Unattended",$(NoTitle),$(!REG_VT_SZ),$(!STF_UNATTENDED)}
  141.                 CloseRegKey $(KeyDHCP)
  142.             endif
  143.         endif
  144.         Ifstr(i) $(!NTN_InstallMode) == "install"
  145.             Ifstr(i) $(DoCopy) == "YES"
  146.                 Shell $(File_UTILITY_INF), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  147.                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  148.                    Goto ShellErrorExit
  149.                 Else-Ifstr(i) $($R0) == STATUS_FAILED
  150.                    Shell $(File_UTILITY_INF) RegistryErrorString "ASK_SOURCE_FAIL"
  151.                    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  152.                       goto ShellErrorExit
  153.                    endif
  154.                    set Error = $($R0)
  155.                    Goto ScriptExit
  156.                 Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  157.                    set ExitStatus = STATUS_USERCANCEL
  158.                    Goto ScriptExit
  159.                 Endif
  160.                 Set SrcDir = $($R1)
  161.             Endif
  162.             install "Install-Option"
  163.             ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  164.                 Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  165.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  166.                     set ExitStatus = STATUS_USERCANCEL
  167.                     goto ScriptExit
  168.                 endif
  169.                 set Error = $($R0)
  170.                 goto ScriptExit
  171.             endif
  172.         endif
  173.         StartWait
  174.         Shell $(File_UTILITY_INF), AddSoftwareComponent, $(Manufacturer), +
  175.               $(ProductSoftwareName), $(ProductSoftwareName), +
  176.               $(ProductSoftwareDisplayName), $(STF_CONTEXTINFNAME), +
  177.               $(ProductSoftwareImagePath), $(ProductSoftwareType), "", +
  178.               { "Tcpip", "EventLog" }, "", $(ProductEventFile)
  179.         set SoftwareProductKey = $($R1)
  180.         set SoftwareNetRuleKey = $($R2)
  181.         set SoftwareServiceKey = $($R3)
  182.         set ParamsKey = $($R4)
  183.         set SoftLinkageKey = $($R5)
  184.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  185.             EndWait
  186.             Debug-Output "ShellCode error: AddSoftwareComponent"
  187.             goto ShellErrorExit
  188.         endif
  189.         set RegistryErrorIndex = $($R0)
  190.         ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  191.             EndWait
  192.             Debug-Output "Registry error: AddSoftwareComponent"
  193.             CloseRegKey $(SoftwareProductKey)
  194.             CloseRegKey $(SoftwareNetRuleKey)
  195.             CloseRegKey $(SoftwareServiceKey)
  196.             CloseRegKey $(KeyParameters)
  197.             CloseRegKey $(SoftLinkageKey)
  198.             goto RegistryErrorExit
  199.         endif
  200.         set HopsThreshold = 4
  201.         set SecsThreshold = 4
  202.         set LogMessages = 0
  203.         set EnableTracing = 0
  204.         set DHCPServers = ""
  205.         set NewValueList = {{HopsThreshold,$(NoTitle),$(!REG_VT_DWORD),$(HopsThreshold)},+
  206.                            {SecsThreshold,$(NoTitle),$(!REG_VT_DWORD),$(SecsThreshold)},+
  207.                            {LogMessages,$(NoTitle),$(!REG_VT_DWORD),$(LogMessages)},+
  208.                            {EnableTracing,$(NoTitle),$(!REG_VT_DWORD),$(EnableTracing)},+
  209.                            {DHCPServers,$(NoTitle),$(!REG_VT_MULTI_SZ),$(DHCPServers)}}
  210.         Shell $(File_UTILITY_INF), AddValueList, $(ParamsKey), $(NewValueList)
  211.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  212.             EndWait
  213.             Debug-Output "ShellCode error."
  214.             goto ShellErrorExit
  215.         endif
  216.         set RegistryErrorIndex = $($R0)
  217.         ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  218.             EndWait
  219.             Debug-Output "Registry error: AddValueList"
  220.             CloseRegKey $(SoftwareProductKey)
  221.             CloseRegKey $(SoftwareNetRuleKey)
  222.             CloseRegKey $(SoftwareServiceKey)
  223.             CloseRegKey $(SoftLinkageKey)
  224.             CloseRegKey $(KeyParameters)
  225.             goto RegistryErrorExit
  226.         endif
  227.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  228.                             {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  229.                             {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  230.                             {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  231.                             {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  232.                             {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  233.                             {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}, +
  234.                             {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  235.         Shell $(File_UTILITY_INF), AddValueList, $(SoftwareProductKey), $(NewValueList)
  236.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  237.             EndWait
  238.             Debug-Output "ShellCode error."
  239.             goto ShellErrorExit
  240.         endif
  241.         set RegistryErrorIndex = $($R0)
  242.         ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  243.             EndWait
  244.             Debug-Output "Registry error: AddValueList."
  245.             CloseRegKey $(SoftwareProductKey)
  246.             CloseRegKey $(SoftwareNetRuleKey)
  247.             CloseRegKey $(SoftwareServiceKey)
  248.             CloseRegKey $(SoftLinkageKey)
  249.             CloseRegKey $(KeyParameters)
  250.             goto RegistryErrorExit
  251.         endif
  252.         set NewValueList = +
  253.           {{InfOption,$(NoTitle),$(!REG_VT_SZ),RelayAgent},+
  254.            {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleClass)},+
  255.            {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleType)},+
  256.            {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleUse)},+
  257.            {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleBindForm)},+
  258.            {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleBindable)}}
  259.         Shell  $(File_UTILITY_INF), AddValueList, $(SoftwareNetRuleKey), $(NewValueList)
  260.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  261.             EndWait
  262.             Debug-Output "ShellCode error."
  263.             goto ShellErrorExit
  264.         endif
  265.         set RegistryErrorIndex = $($R0)
  266.         ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  267.             EndWait
  268.             Debug-Output "Registry error: AddValueList."
  269.             CloseRegKey $(SoftwareProductKey)
  270.             CloseRegKey $(SoftwareNetRuleKey)
  271.             CloseRegKey $(SoftwareServiceKey)
  272.             CloseRegKey $(KeyParameters)
  273.             CloseRegKey $(SoftLinkageKey)
  274.             goto RegistryErrorExit
  275.         endif
  276.         CloseRegKey $(SoftwareProductKey)
  277.         CloseRegKey $(SoftwareNetRuleKey)
  278.         CloseRegKey $(SoftLinkageKey)
  279.         CloseRegKey $(KeyParameters)
  280.         CloseRegKey $(SoftwareServiceKey)
  281.         EndWait
  282.         set ExitStatus = STATUS_SUCCESSFUL
  283.         goto ScriptExit
  284.     Deinstall = +
  285.         Shell $(File_UTILITY_INF), RemoveSoftwareComponent, $(Manufacturer), +
  286.               $(ProductSoftwareName)
  287.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  288.             Debug-Output "ShellCode error: RemoveSoftwareComponent"
  289.             goto ShellErrorExit
  290.         endif
  291.         set RegistryErrorIndex = $($R0)
  292.         ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  293.             goto RegistryErrorExit
  294.         endif
  295.         set ExitStatus = STATUS_SUCCESSFUL
  296.         goto ScriptExit
  297.     Update = +
  298.         OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\RelayAgent\CurrentVersion" $(MAXIMUM_ALLOWED) ProductKey
  299.         ifstr $(ProductKey) != ""
  300.         SetRegValue $(ProductKey) {Description,$(NoTitle),$(!REG_VT_SZ), +
  301.                    $(ProductSoftwareDescription)}
  302.             SetRegValue $(ProductKey) {Title,$(NoTitle),$(!REG_VT_SZ), +
  303.                    $(ProductSoftwareTitle)}
  304.             OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Ncpa\InfOptions" $(MAXIMUM_ALLOWED) NcpaKey
  305.             ifstr(i) $(NcpaKey) != ""
  306.                 DeleteRegTree $(NcpaKey) "oemnsvbr.inf"
  307.             endif
  308.             CloseRegKey $(NcpaKey)
  309.             OpenRegKey $(!REG_H_LOCAL) "" $(ProductRegRoot) $(MAXIMUM_ALLOWED) svcKey
  310.             ifstr(i) $(svcKey) != $(KeyNull)
  311.                 SetRegValue $(svcKey) {DisplayName,$(NoTitle),$(!REG_VT_SZ), +
  312.                             $(ProductSoftwareDisplayName)}
  313.             endif
  314.             CloseRegKey $(svcKey)
  315.             install "Install-Update"
  316.             ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  317.                 EndWait
  318.                 Shell $(File_UTILITY_INF) RegistryErrorString "UNABLE_COPY_FILE"
  319.                 set Message = $($R0)
  320.                 goto MessageExit
  321.             endif
  322.             SetRegValue $(ProductKey) {MajorVersion,$(NoTitle),$(!REG_VT_SZ), +
  323.                         $(ProductMajorVersion)}
  324.             SetRegValue $(ProductKey) {MinorVersion,$(NoTitle),$(!REG_VT_SZ), +
  325.                     $(ProductMinorVersion)}
  326.             SetRegValue $(KeyProduct) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  327.             LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, +
  328.                              $(ProductSoftwareName), $(SERVICE_NO_CHANGE), +
  329.                              $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), +
  330.                              $(ProductSoftwareImagePath), "", "", "", "", ""
  331.             CloseRegKey $(ProductKey)
  332.             set ExitStatus = STATUS_SUCCESSFUL
  333.         endif
  334.         goto ScriptExit
  335.     Configure = +
  336.         goto ScriptExit
  337.     ShellErrorExit = +
  338.         set DlgType      = "MessageBox"
  339.         set STF_MB_TITLE = $(ShellCodeErrorTitle)
  340.         set STF_MB_TEXT  = $(ShellCodeErrorText)
  341.         set STF_MB_TYPE  = 1
  342.         set STF_MB_ICON  = 3
  343.         set STF_MB_DEF   = 1
  344.         ui start "Error Message"
  345.         set ExitStatus = STATUS_FAILED
  346.         goto ScriptExit
  347.     RegistryErrorExit = +
  348.         Shell $(File_UTILITY_INF) RegistryErrorString $(RegistryErrorIndex)
  349.         set Message = $($R0)
  350.         set ExitStatus = STATUS_FAILED
  351.         goto MessageExit
  352.     MessageExit = +
  353.         Shell $(File_SUBROUTN_INF) SetupMessage, $(!STF_LANGUAGE), "", $(Message)
  354.         goto ScriptExit
  355.     ScriptExit = +
  356.         return $(ExitStatus)
  357. [GetFilesSize]
  358.     set FileSizeList = ^(Files-RelayAgent, 3)
  359.     set TotalSize = 0
  360.     ForListDo $(FileSizeList)
  361.         Split-String $($) "=" SplitString
  362.         set Size = *($(SplitString),3)
  363.         set-add TotalSize = $(TotalSize) $(Size)
  364.     EndForListDo
  365.     set-div SizeInKB = $(TotalSize) 1024
  366.     return $(SizeInKB)
  367. [Install-Option]
  368.     set STF_VITAL = ""
  369.     ifstr(i) $(AddCopy) == "YES"
  370.         AddSectionFilesToCopyList Files-RelayAgent $(SrcDir) $(!STF_WINDOWSSYSPATH)
  371.     endif
  372.     ifstr(i) $(DoCopy) == "YES"
  373.         set !STF_NCPA_FLUSH_COPYLIST = TRUE
  374.         CopyFilesInCopyList
  375.     endif
  376.     ifstr(i) $(DoConfig) == "YES"
  377.     endif
  378.     exit
  379. [Install-Update]
  380.     set STF_VITAL = NO
  381.     set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  382.     AddSectionFilesToCopyList Files-RelayAgent $(SrcDir) $(!STF_WINDOWSSYSPATH)
  383.     exit
  384. [Source Media Descriptions]
  385.     1 = "Windows NT Server CD-ROM", TAGFILE = cdrom_s.40
  386. [Signature]
  387.     FileType = MICROSOFT_FILE
  388. [GetSignature]
  389.     read-syms Signature
  390.     return $(FileType)
  391. [ProductType]
  392. STF_PRODUCT  = LanmanNT
  393. STF_PLATFORM = I386
  394. [Files-Inf]
  395. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  396. [Files-RelayAgent]
  397. 1,IPRIP.DLL , SIZE=999
  398. 1,RELAY.DLL , SIZE=999
  399. 1,ROUTER.EXE , SIZE=999
  400. 1,TRACE.DLL , SIZE=999
  401. [LanguagesSupported]
  402.     ENG
  403. [OptionsTextENG]
  404.     RelayAgent = "DHCP Relay Agent"
  405. [FileConstantsENG]
  406. FunctionTitle                   = "Relay Agent Setup"
  407. ProductSoftwareDescription      = "Enables the Windows NT Server to forward DHCP (Dynamic Host Configuration Protocol) broadcasts across a router to a remote DHCP server."
  408. ProductSoftwareDisplayName      = "DHCP Relay Agent"
  409. ProductSoftwareTitle            = "DHCP Relay Agent"
  410. ErrorTCPIPNotInstalled          = "TCP/IP is not installed. Please install TCP/IP and retry this installation."
  411. ShellCodeErrorTitle             = "Error: "$(FunctionTitle)
  412. ShellCodeErrorText              = "Shell Code Error."
  413. ProCaption   = "Windows NT Setup"
  414. ProCancel    = "Cancel"
  415. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  416.                "Are you sure you want to cancel copying files?"
  417. ProCancelCap = "Network Setup Message"
  418. [DefaultsENG]
  419. [DialogConstantsENG]
  420. Help            = "&Help"
  421. Exit            = "Cancel"
  422. OK              = "OK"
  423. HelpContext     = ""
  424. Continue        = "Continue"
  425. Cancel          = "Cancel"
  426. [FileDependentDlgENG]
  427.